home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Moscow ML 1.31 / source code / mosml / src / mosmllib / OS.mlp < prev    next >
Encoding:
Text File  |  1996-07-03  |  1.1 KB  |  35 lines  |  [TEXT/R*ch]

  1. (* OS *)
  2.  
  3. #if defined(unix) || defined(macintosh)
  4. fun osInfo () = 
  5.     let prim_val uname_ : unit -> string * string * string = 1 "sml_uname";
  6.         val (machine, sysname, release) = uname_ ()
  7.     in {archFamily = "interp",          (* "interp" *)
  8.         archName   = machine,           (* machine *)
  9.         osName     = sysname,           (* sysname *)
  10.         osVersion  = release            (* release *)
  11.         }
  12.     end;
  13. #else 
  14. #ifdef msdos
  15. fun osInfo () = {
  16.         archFamily = "interp",          (* "interp" *)
  17.         archName   = "x86",             (* machine *)
  18.         osName     = "DOS",             (* sysname *)
  19.         osVersion  = ""                 (* release *)
  20.       };
  21. #else
  22. fun osInfo () = {
  23.         archFamily = "interp",          (* "interp" *)
  24.         archName   = "",                (* machine *)
  25.         osName     = "",                (* sysname *)
  26.         osVersion  = ""                 (* release *)
  27.       };
  28. #endif
  29. #endif
  30.  
  31. type syserror = int
  32. prim_val errorMsg : syserror -> string = 1 "sml_errormsg"; 
  33.  
  34. exception SysErr of string * syserror option
  35.